package ExpressTwo;

public class StatusChange {
    private final MainInterface _D;
    StatusChange(MainInterface d){
        _D=d;
    }
    //更改状态栏部分
    void change(){
        //输入的为逻辑地址，存储在 MainInterface中的logicAddress中
        //更改逻辑地址
        _D.setLabels_status(0,"0x "+Integer.toHexString(_D.logicAddress).toUpperCase()+"H");
        //更改访问次数，存储在MainInterface中的accessCount中
        _D.setLabels_status(1,String.valueOf(_D.accessCount));
        //更改页号，页号 = 逻辑地址 / 块大小(kb)*1024
        _D.setLabels_status(2,String.valueOf(_D.logicAddress/(_D.blockSize*1024)));
        //更改页内地址 页内地址 = 逻辑地址 % (块大小(kb)*1024)
        _D.pageAddress=_D.logicAddress%(_D.blockSize*1024);
        _D.setLabels_status(3,"0x "+Integer.toHexString(_D.pageAddress).toUpperCase()+"H");
    }
}
